昨天做好的聊天機器人雖然能記住對話,但本質上還是個被動的文本生成器。如果問它「今天台北天氣如何?」或「我明天下午有什麼行程?」,它不是兩手一攤說不知道,就是開始一本正經地瞎掰。今天我們給它升級成具備 Tool Calling(工具調用)能力的自主 Agent,讓它聽懂問題後,自己決定該去翻日曆、查天氣還是算數學。
什麼是 Agent 的工具調用?
傳統的做法是我們寫死邏輯:使用者按 A 就走查天氣分支,按 B 就走查行程分支。但人類說話千奇百怪,有時會問「明天會下雨嗎?如果會,提醒我下午兩點的會議改線上」。Agent 的厲害之處在於,我們把前幾天做過的天氣查詢、Google 日曆檢索、計算機等功能像「外掛道具」一樣掛在它身上,給每個工具寫好功能說明。AI 會像人類一樣思考:「為了解決這個問題,我得先拿第一個工具查天氣,再拿第二個工具查日曆」,然後自己把結果拼在一起。
第一站:換上 AI Agent 核心節點
把原本單純的文字生成節點,替換成 n8n 專門的「AI Agent」節點。Agent 類型選擇支援工具調用的模式(Tools Agent),對話模型選用具備強大 Function Calling 能力的模型(例如 GPT-4o 或 Gemini 1.5 Pro)。這顆大腦不只負責聊天,更負責判斷何時該呼叫工具。
第二站:掛載各式工具積木(Tools)
在 AI Agent 節點下方的「Tools」輸入端點,可以掛上好幾種工具小積木。例如:
Custom Tool(自訂天氣查詢):把前幾天寫好的天氣 API 請求包成一個工具,在描述欄位清楚寫上「當使用者詢問任何地區的即時天氣或降雨預報時使用此工具」。
Google Calendar Tool:掛上日曆讀取工具,描述寫上「當需要確認使用者的行程安排、會議時間時使用」。
Calculator Tool:掛上計算機工具,防止大模型在算複雜加減乘除時出低級錯誤。
工具的描述(Description)非常關鍵,因為 AI 完全是靠讀懂這段描述來決定手邊哪個道具最適合當前的問題。
第三站:設定系統角色與推理邏輯
在 Agent 的提示詞裡明確指示它的行為準則:「你是一個擁有外掛工具的高級數位助理。面對使用者問題時,請先分析是否需要即時外部數據。若需要,主動調用合適的工具取得真實數據後再回答;如果只是日常閒聊,直接以親切俐落的語氣回覆即可。嚴禁憑空猜測時間、日程或即時氣候。」
第四站:實測驗證自主決策
打開 Telegram,對著機器人打一句:「幫我看一下明天下午有沒有空,順便看看明天會不會很冷?」
進到 n8n 後台看執行紀錄,你會看到非常神奇的推導鏈條:Agent 收到訊息後,沒有立刻回話,而是先觸發了 Google Calendar 工具撈取明天的排程,接著觸發氣象工具抓取氣溫,最後把兩邊傳回來的真實資料整合在一起,在手機上回傳:「明天下午兩點到四點你有空檔,而且氣溫預計只有 18 度偏涼,建議穿厚外套出門喔」。一個真正能幫你跑腿辦事的智慧體就這樣誕生了。明天我們來解決格式處理的痛點,看看如何把網頁長文自動轉成排版乾淨的 PDF 存入雲端硬碟。